using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Globalization;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using EYDIngenieria.ERP.Aplicacion.Gestion;
using EYDIngenieria.ERP.Aplicacion.Mantenedores;
using EYDIngenieria.ERP.ObjetosDeNegocio.Dominio;

public partial class Gestion_Default : System.Web.UI.Page
{

    private MantenedorMedioDePago mantenedorMedioDePago = new MantenedorMedioDePago();
    private GestionOrdenDeTrabajo gestionOrdenDeTrabajo = new GestionOrdenDeTrabajo();
    private MantenedorEstadoOrdenDeTrabajo mantenedorEstadoOrdenesDeTrabajo = new MantenedorEstadoOrdenDeTrabajo();
    private EstadoOrdenDeTrabajo ingresado;
    private OrdenDeTrabajo ot = new OrdenDeTrabajo();
   
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session.Keys.Count == 0)
            Response.Redirect("../Default.aspx");
        if (!IsPostBack)
        {
            ingresado = mantenedorEstadoOrdenesDeTrabajo.Buscar("I")[0];
            gdvOrdenesDeTrabajo.DataSource = gestionOrdenDeTrabajo.Listar(ingresado);
            gdvOrdenesDeTrabajo.DataBind();
        
            dtlDetalleOrdenDeTrabajo.DataSource = ot.Detalle;
            dtlDetalleOrdenDeTrabajo.DataBind();
           
         
            //txbFecha.Text = DateTime.Now.ToShortDateString();
        }
    }

  
   
    protected void gdvOrdenesDeTrabajo_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridView grilla = ((GridView)sender);
        int id = int.Parse(grilla.SelectedDataKey.Value.ToString());
        OrdenDeTrabajo ot = gestionOrdenDeTrabajo.Obtener(id);
        Session["ORDENDETRABAJO"] = ot;
        dtlDetalleOrdenDeTrabajo.DataSource = ot.Detalle;
        dtlDetalleOrdenDeTrabajo.DataBind();
        lblCliente.Text= ot.Cliente.RazonSocial;
        lblNumero.Text = ot.NumeroOrdenDeTrabajo.ToString();
        lblDescripcion.Text = ot.Descripcion;
        lblMonto.Text = ot.Monto.ToString("###,###.##");
    }
    protected void btnAprobar_Click(object sender, EventArgs e)
    {
        if (gdvOrdenesDeTrabajo.SelectedIndex < 0)
            return;
        
       
        int id = int.Parse(gdvOrdenesDeTrabajo.SelectedDataKey.Value.ToString());
        OrdenDeTrabajo ot = gestionOrdenDeTrabajo.Obtener(id);
        ot.Estado = mantenedorEstadoOrdenesDeTrabajo.Buscar("A")[0];
        gestionOrdenDeTrabajo.Modificar(ot);

        ot.Detalle.Clear();
        CargaGrilla();

        lblCliente.Text = string.Empty;
        lblNumero.Text = string.Empty;
        lblDescripcion.Text = string.Empty;
        dtlDetalleOrdenDeTrabajo.DataSource = ot.Detalle;
        dtlDetalleOrdenDeTrabajo.DataBind();
        lblMonto.Text = string.Empty;
    }

    private void CargaGrilla()
    {
        ingresado = mantenedorEstadoOrdenesDeTrabajo.Buscar("I")[0];
        gdvOrdenesDeTrabajo.DataSource = gestionOrdenDeTrabajo.Listar(ingresado);
        gdvOrdenesDeTrabajo.DataBind();
    }

    protected void btnRechazar_Click(object sender, EventArgs e)
    {
        if (gdvOrdenesDeTrabajo.SelectedIndex < 0)
            return;


        int id = int.Parse(gdvOrdenesDeTrabajo.SelectedDataKey.Value.ToString());
        OrdenDeTrabajo ot = gestionOrdenDeTrabajo.Obtener(id);
        ot.Estado = mantenedorEstadoOrdenesDeTrabajo.Buscar("R")[0];
        gestionOrdenDeTrabajo.Modificar(ot);
        ot.Detalle.Clear();
        CargaGrilla();
        lblCliente.Text = string.Empty;
        lblNumero.Text = string.Empty;
        lblDescripcion.Text = string.Empty;
        dtlDetalleOrdenDeTrabajo.DataSource = ot.Detalle;
        dtlDetalleOrdenDeTrabajo.DataBind();
        lblMonto.Text = string.Empty;
    }
}
